It is sought to avoid the need for using large sine/cosine look-up tables stored in read-only memory (ROM) in order to specify the sine and cosine waves with high precision. Interpolation by linear methods from a ROM with a restricted number of entries does not provide sine and cosine waves with the requisite degree of harmonic purity needed in many applications. Several prior art sine and cosine wave approximation methods have insufficient freedom from harmonic distortion for use in these applications requiring high-precision sine or cosine waves or both.
Digital oscillator methods known in the prior art have strong tendencies to provide slightly underdamped or slightly overdamped oscillations, which departure from unity damping is unacceptable in these applications. For example, oscillators for generating sine-waves can be constructed utilizing the equation EQU y(n)=A y(n-1)+B y(n-2)+Cx(n-1)
where x(n)=1 for n=0 and x(n)=0 for all other n. These oscillators take advantage of the second derivative of sin .omega.t being -.omega..sup.2 times as large as sin .omega.t, the differential equations describing such analog signal behavior being used to generate difference equations in sampled-data terms, of the sort set forth in the preceding sentence. Another digital oscillator method that is known to the inventor, but is unacceptable in that oscillations tend to decay with time, is constructed as a filter for the unit impulse. The filter has a transfer function based on the z transform of the desired output function sin(.omega.nT), which transfer function equals EQU z.sup.-1 sin(.omega.T)/[1-2 z.sup.-1 cos(.omega.T)+z.sup.-2 ].